The present invention relates, in general, to ring oscillators and, more specifically, to a system and method of determining speed of a ring oscillator located on an integrated circuit (IC), such as an application specific IC (ASIC).
Ring oscillators are incorporated into IC designs to generate an oscillation frequency. Typically, more than one ring oscillator may be arranged on an ASIC. For example, a ring oscillator may be arranged at each corner of the dye. By measuring the oscillation frequency of the ring oscillator, the speed of the ASIC may be determined.
A ring oscillator, generally designated as 90, is shown in FIG. 9. As shown, ring oscillator 90 includes an odd number of inverting delay elements 92, 93 connected in series to form a closed loop with positive feedback. Assuming that each inverter includes the same signal propagation delay, the oscillation frequency of the ring oscillator is inversely proportional to the number of inverters in the loop (five in FIG. 9). The fewer the number of inverters in the loop, the higher the oscillation frequency of the output clock signal 94. Three inverters in the loop, however, is the minimum number required to maintain a self starting oscillation. By using ENABLE signal 91, logic inverter (NAND gate) 92 may be reset to allow a controlled start-up of oscillation.
Determining the speed of an ASIC is usually done by measuring the speed of a ring oscillator on the chip, since the speed of the ring oscillator is a good indication of the speed of the rest of the logic on the chip. Conventionally, the speed of the ring oscillator is measured by physically probing a pin on the chip. Probing a pin on the chip requires special fixtures and separate test equipment. For example, the chip is usually held by automated test equipment (ATE) which provides access to clock-output signal 94. A circuit analyzer in the ATE, which may be an oscilloscope, is used to determine the ring oscillator frequency.
A problem associated with the above approach is the limited use of pin resources. Often, in large-scale designs implemented in high-density ASIC devices, the number of pins available for use on the ASIC governs the amount of logic which may actually be placed within the device. Therefore, pin conservation is a primary concern. Using pins for outputting ring oscillator clock signals from the device is a disadvantage, because it reduces the amount of functional logic that may be placed within the device.
Another problem associated with the above approach is the cost involved in measuring the speed of the ring oscillator. Since the ring oscillator frequency is typically higher than the worst case speed (frequency) of the chip, the circuit analyzer in the ATE requires a faster frequency response than the chip under test. This results in increased cost. Furthermore, determining the speed of the ring oscillator is usually performed by human intervention. This further increases cost.
The problems associated with measuring speed of a ring oscillator show that a need still exists for an improved system and method of determining the oscillation frequency of the ring oscillator. This invention includes a solution to these problems.
To meet this and other needs, and in view of its purposes, the present invention provides a system of determining oscillation frequency of a ring oscillator formed on a chip. The system includes a ring oscillator formed on the chip for providing a ring clock signal having first periodic pulses, and a ring counter formed on the chip for providing a ring clock count value in response to the first periodic pulses. The system also includes a terminal for receiving a system clock signal having second periodic pulses, and a system counter formed on the chip for providing a system clock count value in response to the second periodic pulses. The oscillation frequency of the ring oscillator is determined based on the ring clock count value and the system clock count value.
In an embodiment of the invention, the system clock signal includes a predetermined frequency, and the oscillation frequency of the ring oscillator is determined based on a product of (a) the predetermined frequency and (b) a ratio formed by the ring clock count value and the system clock count value.
In another embodiment of the invention, the ring counter includes a first register for storing a first preset value, and the system counter includes a second register for storing a second preset value. The ring counter is configured to countdown from the first preset value in response to the first periodic pulses, and the system counter is configured to countdown from the second preset value in response to the second periodic pulses. The second register may be a N-bit register and the second preset value may be N-bits wide. The first register may be a (N+x)-bit register and the second preset value may be (N+x)-bits wide, where x may be an integer value of 1, 2 or 3.
In yet another embodiment of the invention, a maintenance test set may statically shift into the first register the first preset value and shift into the second register the second preset value. The first register may be configured to count down to a first ring clock count value, and the maintenance test set may be configured to statically shift out from the first register the first ring clock count value.
The invention also includes a method of determining oscillation frequency of the ring oscillator. The ring oscillator and the system clock are disabled. The ring oscillator is coupled to a ring counter and the system clock is coupled to a system counter. Next, the system clock is enabled. The ring oscillator and the system counter are enabled in response to enabling the system clock. The method counts, in the ring counter, pulses of the ring oscillator and counts, in the system counter, pulses of the system clock. The method determines the oscillation frequency of the ring oscillator in response to counting the pulses.
It is understood that the foregoing general description and the following detailed description are exemplary, but are not restrictive, of the invention.